import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
	state: {
		cart: wx.getStorageSync('cart') || []
	},
	mutations: {
		addCart(state, GoodsId) {
			let cart = state.cart

			// 判断购物车是否有与当前id 相同的对象
			let goods = cart.find(item => {
				return item.goodsId === GoodsId
			})

			// 有相同id的对象
			if (goods) {
				// 商品数量++,总是选中的状态
				goods.num++
				goods.checked = true
			} else {
				// 第一次添加, 数据插入头部数组
				let newGoods = {
					goodsId: GoodsId,
					num: 1,
					checked: true
				}
				state.cart = [newGoods, ...cart]
			}

		}
	},
	getters:{
		getCartLen(state) {
			return state.cart.length
		}
	}
})

export default store
